package MyGO.utils.enumerastion;

//public interface DepartmentType {
//    enum InternalMedicine implements DepartmentType {  // 内科
//        HEMATOLOGY,  // 血液内科
//        GASTROENTEROLOGY,  // 消化内科
//        ENDOCRINOLOGY;  // 内分泌科
//
//        @Override
//        public String toString() {
//            return switch (this) {
//                case HEMATOLOGY -> "血液内科";
//                case GASTROENTEROLOGY -> "消化内科";
//                case ENDOCRINOLOGY -> "内分泌科";
//            };
//        }
//
//        public static InternalMedicine parseInterbalMedicine(String name) {
//            return switch (name) {
//                case "血液内科" -> HEMATOLOGY;
//                case "消化内科" -> GASTROENTEROLOGY;
//                case "内分泌科" -> ENDOCRINOLOGY;
//                default -> null;
//            };
//        }
//    }
//
//    enum Surgery implements DepartmentType {  // 外科
//        ORTHOPAEDICS,  // 骨科
//        NEUROSURGERY,  // 神经外科
//        UROKOGY;  // 泌尿外科
//
//        @Override
//        public String toString() {
//            return switch (this) {
//                case ORTHOPAEDICS -> "骨科";
//                case NEUROSURGERY -> "神经外科";
//                case UROKOGY -> "泌尿外科";
//            };
//        }
//
//        public static Surgery parseSurgery(String name) {
//            return switch (name) {
//                case "骨科" -> ORTHOPAEDICS;
//                case "神经外科" -> NEUROSURGERY;
//                case "泌尿外科" -> UROKOGY;
//                default -> null;
//            };
//        }
//    }
//
//    enum Pentatology implements DepartmentType {  // 五官科
//        OTOLARYNGOLOGY,  // 耳鼻咽喉科
//        OPHTHALMOLOGY;   // 眼科
//
//        @Override
//        public String toString() {
//            return switch (this) {
//                case OTOLARYNGOLOGY -> "耳鼻咽喉科";
//                case OPHTHALMOLOGY -> "眼科";
//            };
//        }
//
//        public static Pentatology parsePentatology(String name) {
//            return switch (name) {
//                case "耳鼻咽喉科" -> OTOLARYNGOLOGY;
//                case "眼科" -> OPHTHALMOLOGY;
//                default -> null;
//            };
//        }
//    }
//
//    enum Pediatrics implements DepartmentType {  // 儿科
//        DEVELOPMENTAL, // 发育科
//        OBESITY;      // 肥胖科
//
//        @Override
//        public String toString() {
//            return switch (this) {
//                case DEVELOPMENTAL -> "发育科";
//                case OBESITY -> "肥胖科";
//            };
//        }
//
//        public static Pediatrics parsePentatology(String name) {
//            return switch (name) {
//                case "发育科" -> DEVELOPMENTAL;
//                case "肥胖科" -> OBESITY;
//                default -> null;
//            };
//        }
//    }
//
//    enum Examination implements DepartmentType {  // 检查科
//        RADIOLOGY,  // 放射科
//        LABORATORY; // 化验科
//
//        @Override
//        public String toString() {
//            return switch (this) {
//                case RADIOLOGY -> "放射科";
//                case LABORATORY -> "化验科";
//            };
//        }
//
//        public static Examination parseExamination(String name) {
//            return switch (name) {
//                case "放射科" -> RADIOLOGY;
//                case "化验科" -> LABORATORY;
//                default -> null;
//            };
//        }
//    }
//
//    default DepartmentType parseDepartmentType(String name) {
//        return switch (name) {
//            case "血液内科" -> InternalMedicine.HEMATOLOGY;
//            case "消化内科" -> InternalMedicine.GASTROENTEROLOGY;
//            case "内分泌科" -> InternalMedicine.ENDOCRINOLOGY;
//            default -> null;
//        };
//    }
//
//}

import java.util.ArrayList;
import java.util.List;

public enum Department {
    INTERNAL,   // 内科
    SURGERY,    // 外科
    PADIATRICS; // 儿科


    @Override
    public String toString() {
        return switch (this) {
            case INTERNAL -> "内科";
            case SURGERY -> "外科";
            case PADIATRICS -> "儿科";
        };
    }

    public static Department parseDepartmentType(String departmentType) {
        return switch (departmentType) {
            case "内科" -> INTERNAL;
            case "外科" -> SURGERY;
            case  "儿科" -> PADIATRICS;
            default -> null;
        };
    }

    public static List<Department> getDeptList() {
        List<Department> departmentList = new ArrayList<>();
        departmentList.add(INTERNAL);
        departmentList.add(SURGERY);
        departmentList.add(PADIATRICS);
        return departmentList;
    }
}
